fix: normalize missing args for stdio MCP connections (closes #39)#42
fix: normalize missing args for stdio MCP connections (closes #39)#42omatheusmesmo wants to merge 1 commit intojobrunr:mainfrom
Conversation
) StdioTransportAutoConfiguration throws 'The args can not be null' when a stdio MCP server is saved to application.yaml without an explicit args list (e.g. when McpTool.addStdioMcpServer is called with blank args). McpStdioArgsNormalizerApplicationContextInitializer runs as an ApplicationContextInitializer before autoconfiguration, scans property sources for stdio connections that have a command but no args, and injects an empty args list so the binder never sees null.
|
We require contributors to sign our Contributor License Agreement, and we don't have @omatheusmesmo on file. In order for us to review and merge your code, please create a PR where you add yourself to the contributors of JobRunr. This only needs to be done once. As soon as that is done, we can review your PR. Thanks a lot! |
Pr opened. |
|
Hi @omatheusmesmo ! Thanks for the PR but after further investigation, I found out that the stdio MCP Server was added wrongly. Instead of this (which was now being generated): It should have been (this is what spring expects): I've created PR #44 which validates the arguments now. |
Thanks for answering, I will take a look on the new issue. |
Normalize missing 'args' for stdio MCP connections so autoconfiguration doesn't receive null. Adds ApplicationContextInitializer registered via META-INF/spring.factories and tests.\n\nBoot repro: verified app passes StdioTransportAutoConfiguration; subsequent failure is expected when command is invalid.\n\nSee commit 0cdd20f.
Fixes #39